Lab 05b - Docker
Docker
Instalacja
Może nie być wymagana w laboratorium.
Usunięcie starszych wersji Dockera:
sudo apt remove docker docker-engine docker.io containerd runc
Zaktualizuj i zainstaluj wymagane pakiety:
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release
Dodaj oficjalny klucz GPG Dockera:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Skonfiguruj stabilne repozytorium Dockera:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Powyższe kroki i dalsza dokumentacja jest dostępna również tutaj.
Polecenia Dockera
Wylistowanie obrazów Dockera
docker images
Wylistowanie wszystkich kontenerów Dockera
docker ps -a
Uruchomienie kontenera
docker start <nazwa_kontenera>
Uruchomienie interaktywnej powłoki bash
w kontenerze
docker exec -it <nazwa_kontenera> bash
Utworzenie nowego kontenera i uruchomienie interaktywnej powłoki bash
w tym kontenerze
docker run -it <nazwa_kontenera> bash
Skopiowanie pliku z hosta do kontenera
docker cp path/to/file/on/host <nazwa_kontenera>:path/to/file/in/container
Skopiowanie pliku z kontenera na hosta
docker cp <nazwa_kontenera>:path/to/file/in/container path/to/file/on/host
Wyświetlenie listy woluminów
docker volume ls
Tworzenie woluminu
docker volume create my_volume
Usunięcie woluminu
docker volume rm my_volume
🛠🔥 Zadanie 1 🛠🔥
Przeczytaj Docker’s get started (w sumie 10 części).
🛠🔥 Zadanie 2 🛠🔥
Dokonaj konteneryzacji aplikacji z poprzednich zajęć. Aplikacja powinna używać bind mounts do zapisu do pliku znajdującego się w systemie plików hosta.
- Wskazówka 1: Możesz użyć Python image jako bazy dla obrazu aplikacji.
- Wskazówka 2: Możesz zainstalować wymagane pakiety (w tym przypadku
click
) globalnie, używającpip
podczas procesu budowania obrazu.
Uruchom aplikację i sprawdź logi. Spróbuj włączyć autostart z uruchomieniem systemu dla swojego kontenera.
🛠🔥 Zadanie 3 🛠🔥
Zamiast montowaniu katalogu z systemu hosta można wykorzystać wolumin Dockerowy. Wykonaj poniższe polecenia.
- Utwórz wolumin o nazwie
my_volume
. - Utwórz i uruchom kontener z podpiętym woluminem wykorzystując polecenie
docker run -it --name my_container -v my_volume:/data ubuntu
. - Utwórz i zapisz dowolny plik wewnątrz kontenera (np.
echo "Hello from Docker!" > /data/hello.txt
). - Wyjdź z kontenera poleceniem
exit
. - Usuń kontener poleceniem
docker rm my_container
.
Po zastanowieniu, sprawdź w konsoli
Poniższe polecenie spowoduje automatyczne usunięcie po uruchomieniu kontenera i odczytaniu pliku tekstowego.
docker run --rm -v my_volume:/data ubuntu cat /data/hello.txt